查看原文
其他

第三十四讲 R-简单线性回归模型(2)

跟投必得学 投必得医学 2022-05-07

在“R与生物统计专题”中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现。以从浅入深,层层递进的形式在投必得医学公众号更新。

上一讲中(第三十三讲 R-简单线性回归模型(1)),我们介绍了简单线性回归模型的基本概念,已经如何获得一个简单回归模型。

那么,在获得了这个回归模型以后,这个模型好不好,它有什么意义能,对我们研究问题可以做那些方面的贡献和解释呢?这一讲,我们将深入对线性回归模型进行解释。


1. 获取线性回归模型

详见第三十三讲 R-简单线性回归模型(1)

加载软件包

library(tidyverse)library(ggpubr)

导入及检查数据:

my_data<-read.csv('diabetes.csv')dim(my_data)head(my_data)


注意


如需获取数据diabetes.csv,请关注投必得医学公众号,后台回复“diabetes.csv”获取数据。

研究问题:根据血糖情况来预测胰岛素水平。

数据清理

new_data<-my_data[my_data$Glucose>0 & my_data$Insulin >0,]dim(new_data)

#[1] 393   9

计算回归模型

model <- lm(Insulin ~ Glucose, data = new_data)


2. 回归模型评估


由以上内容,我们建立了血糖和胰岛素水平的简单线性回归方程式,如下

Insulin = -118.643 + 2.239 * Glucose


使用此公式预测胰岛素水平之前,应确保该模型具有统计意义,即:

  • 预测变量和结果变量之间存在统计上的显着关系

  • 建立的模型适合手中的数据。


所以,我们需要对线性回归模型的质量进行评估。


2.1 回归模型的详细统计学内容

我们首先使用R函数显示模型的统计摘要内容summary():

summary(model)

输出结果

Call:lm(formula = Insulin ~ Glucose, data = new_data)Residuals:Min 1Q Median 3Q Max-270.36 -51.22 -15.03 29.32 541.48Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) -118.6430 20.0428 -5.919 7.07e-09 ***Glucose 2.2389 0.1585 14.122 < 2e-16 ***Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 96.75 on 391 degrees of freedomMultiple R-squared: 0.3378, Adjusted R-squared: 0.3361F-statistic: 199.4 on 1 and 391 DF, p-value: < 2.2e-16

摘要输出显示6个组件,包括:

  • Call:显示用于计算回归模型的函数调用。

  • Residuals:快速查看残差的分布,根据定义,这些均值为零。因此,中位数不应远离零,并且最小值和最大值的绝对值应大致相等。

  • Coefficients:显示回归系数β及其统计意义。与结果变量显着相关的预测变量以星号标记。

  • 残差标准误(Residual standard error,RSE),R平方(Multiple R-squared,R2)和F统计量(F-statistic)是用于检查模型与我们的数据拟合程度的指标。


2.2 系数的意义



模型统计摘要中的系数表显示:

  • β系数(Estimate)的估计

  • 标准误(Std. Error)定义了β系数的精度。对于给定的β系数,标准误反映了在重复采样下系数如何变化。它可用于计算置信区间和t统计量。

  • t统计量(t value)和相关的p值(Pr(>|t|)),其定义所述β系数的统计显着性。


如果只想获取系数内容,可以使用R代码如下:

summary(model)$coef

输出结果

Estimate Std. Error t value Pr(>|t|)(Intercept) -118.642980 20.0427805 -5.919487 7.069609e-09Glucose 2.238933 0.1585402 14.122178 7.004849e-37


2.2.1 t统计量和p值:

对于给定的预测变量(x),t统计量(及其关联的p值)检测给定的预测变量与结果变量之间是否存在统计学上显着的关系,即预测变量的β系数是否显着不同于0。


统计假设如下:

  • 原假设(H0):β系数等于零(即x和y之间没有关系)

  • 备择假设(Ha):β系数不等于零(即x和y之间存在某种关系)


在数学上,对于给定的β系数(b),t检验计算为t = (b - 0)/SE(b),其中SE(b)是系数b的标准误差。t统计量测量b远离0的标准偏差的数量。因此,较大的t统计量将产生较小的p值。

t统计量越高(p值越低),则预测变量越重要。右侧的*符号在视觉上显示了预测变量的重要级别。表格下方的行显示了这些符号的定义。*表示0.01

当系数与0存在明显统计学差异时,我们认为,预测变量(x)与结果变量(y)之间存在关联。

注意

在我们的示例中,截距的p值和预测变量都非常重要,因此我们可以拒绝原假设并接受备择假设,这意味着预测变量与结果变量之间存在显着关联。


对于是否在模型中包含预测变量,t统计量是非常有用的。高t统计量(p值较低)表示应将预测变量保留在模型中,而非常低的t统计量则表示,在实际预测模型的建立时,可以删除该预测变量 。


2.2.2 标准误和置信区间:

标准误体现了β系数的变异性/准确性。它可用于计算系数的置信区间。

例如,系数b1的95%置信区间定义为b1 +/- 2*SE(b1),其中:

  • b1的下限= b1 - 2*SE(b1) = 0.047 - 2*0.00269 = 0.042

  • b1的上限= b1 + 2*SE(b1) = 0.047 + 2*0.00269 = 0.052

即,间隔[0.042,0.052]中包含b1的真实值的可能性为95%。同样,可以将b0的95%置信区间计算为b0 +/- 2*SE(b0)。

要获取这些信息,只需键入:

confint(model)2.5 % 97.5 %

输出结果

(Intercept) -158.048082 -79.237878Glucose 1.927235 2.550631


2.3 回归模型的精度

一旦确定至少一个预测变量与结果显着相关,就应该对回归模型的对数据的拟合精度进行检验。此过程也称为拟合优度(goodness-of-fit)。


可以使用以下三个数量来评估线性回归拟合的整体精度,这些数量显示在模型摘要中:

  • 残差标准误(RSE)。

  • R平方(R2)

  • F统计量



Residual standard error: 96.75 on 391 degrees of freedomMultiple R-squared: 0.3378, Adjusted R-squared: 0.3361F-statistic: 199.4 on 1 and 391 DF, p-value: < 2.2e-16


2.3.1 残留标准误差(RSE)


RSE

RSE(也称为模型sigma)是残差的变异度,表示拟合回归线周围观测点的平均变化情况。它是残差的标准偏差。

RSE提供了模型无法解释的数据模式的绝对度量。比较两个模型时,具有较小RSE的模型是更好的预测模型。


将RSE除以结果变量的平均值,即获得预测误差率,该误差率应尽可能小。

在我们的示例中,RSE = 96.75,这意味着观察到的胰岛素水平平均偏离真实回归线约96.75个单位。

96.75单位的RSE是否是可以接受的预测误差,这是主观的,它取决于研究问题的实际背景。但是,我们可以计算百分比误差。在我们的数据集中,胰岛素平均值为155.8855,因此百分比误差为96.75 / 155.8855 = 62%。

sigma(model)*100/mean(new_data$Insulin)

[1] 62.06423


2.3.2 R平方和调整后的R平方


R平方

R平方(R2)的范围是0到1,代表模型可以解释实际情况的百分比。调整后的R平方是调整了自由度后的R平方。

R2衡量模型拟合数据的程度。对于简单的线性回归,R2是皮尔森相关系数的平方。


R2值高是一个好的指示。表示回归模型对数据的拟合程度好。但是,当在模型中添加更多的预测变量时(例如在多元线性回归模型中),R2的值趋于增加,因此您应主要考虑调整后的R平方。

  • (调整后的)R2接近1表示结果中的大部分可变性已通过回归模型进行了解释。

  • 接近0的数字表示回归模型无法解释结果的大部分可变性。


2.3.3. F统计量


F统计量

F统计量提供了模型的整体重要性。它评估至少一个预测变量是否具有非零系数。


在简单的线性回归中,此检验并不具有真正的意义,因为它只是复制了系数表中的t检验给出的信息。实际上,F检验与t检验的平方相同:14.122^2 = 199.4309。在任何具有1个自由度的模型中都是如此。

一旦我们开始在多元线性回归中使用多个预测变量,则F统计量将变得更加重要。

F统计量越大, 对应的统计显着性p值(p <0.05)越小。在我们的示例中,F统计量等于199.4309,产生的p值为 < 2.2e-16,表示血糖值的系数与0间有很大差异。

参考内容:
1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R


好了,本期讲解就先到这里。小伙伴们赶紧试起来吧。

在之后的更新中,我们会进一步为您介绍R的入门,以及常用生物统计方法和R实现。欢迎关注,投必得医学手把手带您走入R和生物统计的世界。

提前预告一下,下一讲我们将学习多元线性回归模型


第一讲 R-基本介绍及安装

第二讲 R-编程基础-运算、数据类型和向量等基本介绍

第三讲 R编程基础-矩阵和数据框

第四讲 R-描述性统计分析

第五讲 R-数据描述性统计分析作图

第六讲 R-数据正态分布检验

第七讲 R-相关性分析及作图

第八讲 R-单样本T检验

第九讲 R-单样本Wilcoxon检验

第十讲 R-两独立样本t检验

第十一讲 R-两独立样本Wilcoxon检验

第十二讲 R-配对样本t检验

第十三讲 R-配对样本Wilcoxon检验

第十四讲 R-单因素方差分析1

第十五讲 R-单因素方差分析2

第十六讲 R-双向方差分析1

第十七讲 R-双向方差分析2

第十八讲 R-多元方差分析

第十九讲 F检验:两样本方差比较

第二十讲 多样本间的方差比较

第二十一讲 单比例的Z检验

第二十二讲 两比例Z检验

第二十三讲 R-卡方检验之拟合度检验

第二十四讲  R-卡方检验之独立性检验

第二十五讲 生存分析基础概念

第二十六讲 R-生存分析:绘制KM生存曲线

第二十七讲 R-生存分析:生存函数的假设检验

第二十八讲 R-Cox比例风险模型(1)

第二十九讲 R-Cox比例风险模型(2)

第三十讲  R-Cox比例风险模型的假设检验条件

第三十一讲 R-机器学习与回归概述

第三十二讲 R-回归分析概述

第三十三讲 R-简单线性回归模型(1)

当然啦,R语言的掌握是在长期训练中慢慢积累的。一个人学习太累,不妨加入“R与统计交流群”,和数百位硕博一起学习。


快扫二维码撩客服,

带你进入投必得医学交流群,

让我们共同进步!

↓↓


- END -


长按二维码关注「投必得医学」,更多科研干货在等你!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存